package com.qiezi.project.view;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.qiezi.R;
import com.qiezi.util.FontUtils;
import com.qiezi.util.Util;

public class ItemButtonView extends RelativeLayout {


    private TextView tvIcon,tvTitle,tvRight;

    public ItemButtonView(Context context) {
        super(context);
        init(context, null, 0);
    }

    public ItemButtonView(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        init(context, attributeSet, 0);
    }


    private String icon = "",title = "",rightText = "";

    private float textSize = 14,iconTextSize = 15,rightTextSize = 14;
    private int textColor = 0xFF333333,rightTextColor = 0xFF666666;

    public void init(Context context, final AttributeSet attributeSet, int paramInt) {
        LayoutInflater.from(context).inflate(R.layout.view_item_buttom, this);
        if (attributeSet != null){
            TypedArray typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.ItemButtonView, paramInt, 0);

            icon = typedArray.getString(R.styleable.ItemButtonView_ibv_icon);
            title = typedArray.getString(R.styleable.ItemButtonView_ibv_title);
            if (typedArray.hasValue(R.styleable.ItemButtonView_ibv_rightText)){
                rightText = typedArray.getString(R.styleable.ItemButtonView_ibv_rightText);
            }else {
                rightText = getResources().getString(R.string.right);
            }
            textColor = typedArray.getColor(R.styleable.ItemButtonView_ibv_textColor,textColor);
            rightTextColor = typedArray.getColor(R.styleable.ItemButtonView_ibv_rightTextColor,rightTextColor);

            if (typedArray.hasValue(R.styleable.ItemButtonView_ibv_textSize)) {
                textSize = ((int) typedArray.getDimension(R.styleable.ItemButtonView_ibv_textSize, textSize));
                textSize = FontUtils.px2sp(context, textSize);
            }
            if (typedArray.hasValue(R.styleable.ItemButtonView_ibv_iconTextSize)) {
                iconTextSize = ((int) typedArray.getDimension(R.styleable.ItemButtonView_ibv_iconTextSize, iconTextSize));
                iconTextSize = FontUtils.px2sp(context, iconTextSize);
            }
            if (typedArray.hasValue(R.styleable.ItemButtonView_ibv_rightTextsize)) {
                rightTextSize = ((int) typedArray.getDimension(R.styleable.ItemButtonView_ibv_rightTextsize, rightTextSize));
                rightTextSize = FontUtils.px2sp(context, rightTextSize);
            }

            typedArray.recycle();
        }

        Typeface iconfont = Typeface.createFromAsset(context.getAssets(), "fonts/iconfont.ttf");

        tvIcon = findViewById(R.id.tv_ic);
        tvTitle = findViewById(R.id.tv_title);
        tvRight = findViewById(R.id.tv_right);

        tvIcon.setTypeface(iconfont);
        tvTitle.setTypeface(iconfont);
        tvRight.setTypeface(iconfont);


        tvIcon.setTextSize(iconTextSize);
        tvIcon.setTextColor(textColor);
        tvIcon.setText(icon);

        tvTitle.setTextSize(textSize);
        tvTitle.setTextColor(textColor);
        tvTitle.setText(title);

        tvRight.setTextSize(rightTextSize);
        tvRight.setTextColor(rightTextColor);
        tvRight.setText(rightText);
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
        if (tvIcon != null)
            tvIcon.setText(icon);
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
        if (tvTitle != null)
            tvTitle.setText(title);
    }

    public String getRightText() {
        return rightText;
    }

    public void setRightText(String rightText) {
        this.rightText = rightText;
        if (tvRight != null)
            tvRight.setText(rightText);
    }

    public float getTextSize() {
        return textSize;
    }

    public void setTextSize(float textSize) {
        this.textSize = textSize;
        if (tvTitle != null)
            tvTitle.setTextSize(textSize);
    }

    public float getIconTextSize() {
        return iconTextSize;
    }

    public void setIconTextSize(float iconTextSize) {
        this.iconTextSize = iconTextSize;
        if (tvIcon != null)
            tvIcon.setTextSize(iconTextSize);
    }

    public float getRightTextSize() {
        return rightTextSize;
    }

    public void setRightTextSize(float rightTextSize) {
        this.rightTextSize = rightTextSize;
        if (tvRight != null)
            tvRight.setTextSize(rightTextSize);
    }

    public int getTextColor() {
        return textColor;
    }

    public void setTextColor(int textColor) {
        this.textColor = textColor;
    }

    public int getRightTextColor() {
        return rightTextColor;
    }

    public void setRightTextColor(int rightTextColor) {
        this.rightTextColor = rightTextColor;
    }
}
